﻿Imports AccesoDatos
Public Class MultiNivel

#Region "Stephan"

    ''' <summary>
    ''' Realiza la busqueda de todos los niveles que no han sido eliminados y los retorna en un arreglo
    ''' </summary>
    ''' <returns>Lista de niveles</returns>
    ''' <remarks>Creador por: Stephan Endres, Fecha: 20/06/2010, Modificado: 20/06/2010.</remarks>
    Public Shared Function buscarNiveles() As List(Of Nivel)

        Dim listaSalario As New List(Of Nivel)
        Dim sql As String
        Dim pars(0) As Parametro
        Dim drNivel As IDataReader

        sql = "select * from t_nivel where eliminado = p_eliminado"
        pars(0) = New AccesoDatos.Parametro("p_eliminado", 0)

        drNivel = g_access.ejecutarQuery(sql, pars)

        While drNivel.Read
            listaSalario.Add(cargarNivel(drNivel))
        End While

        Return listaSalario

    End Function

    ''' <summary>
    ''' Actualiza el salario minimo y maximo de un determinado nivel
    ''' </summary>
    ''' <param name="p_salarioMinimo">salario minimo</param>
    ''' <param name="p_salarioMaximo">salario maximo</param>
    ''' <param name="p_codigo">codigo del nivel</param>
    ''' <remarks>Creador por: Stephan Endres, Fecha: 20/06/2010, Modificado: 20/06/2010.</remarks>
    Public Shared Sub modificarSalarios(ByVal p_salarioMinimo As Double, ByVal p_salarioMaximo As Double, ByVal p_codigo As Integer)
        Dim sql As String
        Dim pars(2) As Parametro

        sql = "update t_nivel set salario_minimo = p_salarioMinimo, salario_maximo = p_salarioMaximo where codigo=p_codigo"

        pars(0) = New Parametro("p_salarioMinimo", p_salarioMinimo)
        pars(1) = New Parametro("p_salarioMaximo", p_salarioMaximo)
        pars(2) = New Parametro("p_codigo", p_codigo)

        g_access.ejecutarSQL(sql, pars)
    End Sub

    ''' <summary>
    ''' Carga un objeto nivel por medio de un IDataReader
    ''' </summary>
    ''' <param name="dr">Data Reader de nivel</param>
    ''' <returns>Nivel</returns>
    ''' <remarks>Creador por: Stephan Endres, Fecha: 20/06/2010, Modificado: 20/06/2010.</remarks>
    Public Shared Function cargarNivel(ByVal dr As IDataReader) As Nivel

        Dim objNivel As Nivel
        With dr
            objNivel = New Nivel(CStr(.Item("codigo")), CStr(.Item("codigo_departamento")), CInt(.Item("nivel")), CInt(.Item("salario_minimo")), CStr(.Item("salario_maximo")))
        End With
        Return objNivel

    End Function

#End Region

End Class
